1. Field of the Invention
This invention relates to systems for providing electronic documents, and more particularly to document delivery systems wherein servers transcode documents delivered to client machines.
2. Description of Related Art
The World Wide Web, known simply as the xe2x80x9cWebxe2x80x9d, is a network of Internet servers that provide specially formatted electronic documents to various xe2x80x9cclientxe2x80x9d machines. Web servers currently support documents formatted in a text-based markup language called hypertext markup language (HTML).
In order to provide Web access to client machines with limited capabilities (e.g., palmtop or handheld computers), a xe2x80x9ctranscoder proxyxe2x80x9d is typically positioned between the client machine and an Internet server. The transcoder proxy may, for example, provide selected portions of a requested Web document to the client machine based upon the capabilities of client machine. In doing so, the transcoder proxy may translate one or more selected portions of the Web document from one digital format to another.
FIG. 1 is a block diagram of a representative system 10 currently used to provide an electronic document 12 (e.g., a Web page) to a client machine 14 with limited capabilities. Client machine 14 may be, for example, a palmtop or handheld computer with limited memory, processing capability, and/or display capability. System 10 includes an internet server 16, and a transcoder proxy 18 interposed between client machine 14 and internet server 16. Transcoder proxy 18 forwards a request for document 12 from client machine 14 to internet server 16. Such a request typically includes a uniform resource locator (URL) of document 12 specifying the internet protocol (IP) address of document 12 and the name of the file containing document 12.
Internet server 16 fetches document 12 and provides document 12 to transcoder proxy 18. Based upon the capabilities of client machine 14, transcoder proxy 18 may translate or xe2x80x9ctranscodexe2x80x9done or more selected portions of document 12 from one digital format to another. For example, transcoder proxy 18 may transcode a portion of document 12 from HTML to a script written in a scripting language understood by a Web browser application program running within client machine 14. The Web browser program may use information conveyed by the script to display the one or more selected portions of document 12 upon a display device of client machine 14.
Alternately, client machine 14 may include a text-to-speech converter, and the information conveyed by the script may be used to output the one or more selected portions of document 12 as speech through a speaker of client machine 14. The term xe2x80x9cassistive technologyxe2x80x9d is used herein to describe technology that helps physically challenged individuals access to a computer system (e.g., client machine 14). Well known types of assistive technologies include xe2x80x9cscreen readersxe2x80x9d which convert display information to speech, xe2x80x9cscreen magnifiersxe2x80x9d which enlarge features of portions of display screen contents, and voice recognition software which converts speech to a digital representation of text or commands.
A problem arises in that Braille representations of Web documents are created by powerful client assistive technologies designed to interact with specific Web browser implementations (e.g., Microsoft Internet Explorer and Netscape Navigator). Such client assistive technologies typically cannot be run on client machines with limited capabilities (e.g., palmtop computers, handheld computers, and personal digital assistants or PDAs). Additionally, assistive technologies typically do not provide access to many complex Web documents such as portable document format (PDF) files.
It would thus be desirable to have a transcoding system for delivering electronic documents such as Web pages, expressed in a variety of digital formats, to a client device having a Braille display and resource limitations which would otherwise preclude such document delivery.
An electronic document delivery system is described including a client machine coupled to (i.e., in wired or wireless communication with) a transcoder proxy. The client machine may be, for example, a palmtop or handheld computer or a wireless communication device with limited memory and/or processing capability. The client machine includes a Braille display and provides Braille format information identifying a selected Braille format to the transcoder proxy. The Braille display may be the output device of choice for a visually challenged user (e.g., a user with a permanent or temporary visual impairment). The transcoder proxy is coupled to receive electronic documents and the Braille format information. Each electronic document includes presentation information (e.g., text and/or user controls such as buttons) and is expressed in a first digital format. Well known digital formats include text-based markup language formats such as hypertext markup language (HTML) and extensible markup language (XML). Other common digital formats include POSTSCRIPT ((trademark) Adobe Sys. Inc., San Jose, Calif.), portable document format (PDF), and advanced function printing (AFP).
The transcoder proxy includes a rule set including rules for translating electronic documents from any one of the first digital formats listed above to any one of various Braille formats (e.g., English Braille, European Braille, Japanese Braille, and/or grades such as grade 1, grade 2, etc.). The transcoder proxy translates the electronic document from the first digital format to a second digital format (e.g., a scripting language) such that the presentation information is converted to the selected Braille format, and provides the electronic document to the client machine in the second digital format.
One embodiment of the transcoder proxy includes the rule set described above. The transcoder proxy receives Braille format information identifying a selected Braille format (e.g., from the client machine). The transcoder proxy also receives an electronic document in a first digital format and including presentation information. The transcoder proxy selects rules within the rule set dependent upon the Braille format information and the first digital format. The transcoder proxy uses the selected rules to translate the electronic document from the first digital format to the second digital format such that the presentation information is converted to the selected Braille format, and provides the electronic document in the second digital format (e.g., to the client machine).
One embodiment of the client machine includes a user agent coupled to the Braille display. The user agent is adapted for coupling to a transcoder proxy. The user agent provides Braille format information to the transcoder proxy identifying a selected Braille format. The user agent receives an electronic document in a digital format (e.g., the second digital format), wherein the electronic document includes presentation information, and wherein the presentation information is converted to the selected Braille format. The user agent forms a model representing a logical structure of the electronic document. The model may also define methods for accessing and manipulating the document. The model may be, for example, a document object model (DOM). The user agent uses the model to produce output commands, and provide the output commands to the Braille display. As a result, the electronic document is presented to the user via the Braille display.
The client machine may include an assistive technology coupled between the Braille display and the user agent. The assistive technology may provide the Braille format information to the user agent identifying the selected Braille format. The assistive technology may also receive the output commands from the user agent, use the output commands to produce Braille display commands, and provide the Braille display commands to the Braille display.
A method for presenting an electronic document to a user, which may be embodied within the transcoder proxy, includes receiving Braille format information identifying a selected Braille format. An electronic document is received in a first digital format, wherein the electronic document includes presentation information. Rules within the above described rule set are selected dependent upon the Braille format information and the first digital format. The selected rules are used to translate the electronic document from the first digital format to the second digital format such that the presentation information is converted to the selected Braille format. The electronic document is provided (e.g., to a client machine) in the second digital format.
A second method for presenting an electronic document to a user, which may be embodied within the client machine, includes providing Braille format information identifying a selected Braille format. An electronic document is received in a digital format (e.g., the second digital format), wherein the electronic document includes presentation information. The presentation information is converted to the selected Braille format. A model (e.g., a DOM) representing a logical structure of the electronic document is formed, and the model is used to produce output commands. The output commands are provided to a Braille display.
